import axios, { AxiosRequestConfig } from 'axios'

export interface IAddressListReq {
  /** 地址类型 1.海运港口 2.空运机场 3.铁路站点 4.集货仓 5.中转仓 */
  addressType: number
}

/**
 * 仓库详情
 */
export interface Response {
  /**
   * 地址ID
   */
  addressId?: number
  /**
   * 地址类型 1.海运港口 2.空运机场 3.铁路站点 4.集货仓 5.中转仓
   */
  addressType?: number
  /**
   * 中文名
   */
  chineseName?: string
  /**
   * 城市
   */
  city?: string
  /**
   * 代码
   */
  code?: string
  /**
   * 联系人，始发地/目的地才有此值
   */
  contacts?: string
  /**
   * 国家
   */
  country?: string
  /**
   * 国家2字码
   */
  countryCode?: string
  /**
   * 联系邮箱，始发地/目的地才有此值
   */
  email?: string
  /**
   * 英文名
   */
  englishName?: string
  /**
   * 是否常用：0-否，1-是
   */
  isCommon?: number
  /**
   * 联系电话，始发地/目的地才有此值
   */
  phone?: string
  /**
   * 邮编
   */
  postalCode?: string
  /**
   * 省洲
   */
  stateProvince?: string
  /**
   * 详细地址1
   */
  street1?: string
  /**
   * 详细地址2
   */
  street2?: string
}

/** 获取地址列表 */
export const apiGetAddressList = async (
  req: IAddressListReq,
  signal?: AxiosRequestConfig['signal'],
): Promise<Response[]> => {
  return axios.get(`/tmsapi/waybill_record_v2/addressList`, { params: req, signal }).then(res => res.$data || [])
}
